package com.sdtv.mediunfusion.mvp.presenter;

import com.sdtv.basemodule.mvp.presenter.BasePresenter;
import com.sdtv.basemodule.rx.BaseObserver;
import com.sdtv.mediunfusion.bean.MeltCallBean;
import com.sdtv.mediunfusion.mvp.contract.MainContract;
import com.sdtv.mediunfusion.mvp.model.MeltCallModel;

import java.util.List;

/**
 * @ProjectName: MediunFusion
 * @Package: com.sdtv.mediunfusion.mvp.presenter
 * @ClassName: MeltCallPresenter
 * @Description: java类作用描述
 * @Author: 小郭同学
 * @CreateDate: 2019-07-31 15:23
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public class MeltCallPresenter extends BasePresenter<MainContract.MeltCallView, MeltCallModel> {

    /**
     * 初始化model对象
     */
    @Override
    public void initRepository() {
        mModel = new MeltCallModel(mView);
    }

    /**
     * 获取某一页的数据
     *
     * @param page
     */
    public void getCallList(int page) {
        mModel.getMeltCallList(page).subscribe(new BaseObserver<MeltCallBean>(MeltCallBean.class) {
            @Override
            public void doNextList(int totalCount, List<MeltCallBean> result) {
                // 有列表数据
                if (null != result && !result.isEmpty()) {
                    mView.setCallDataList(totalCount, result);
                } else {
                    // 没有列表数据时  执行onEmpty
                    mView.showEmptyView();
                }
            }

            // 加载页面数据失败了
            @Override
            public void onError(Throwable e) {
                mView.onError();
            }

            // 没有获取到数据
            @Override
            public void onEmpty() {
                mView.showEmptyView();
            }
        });
    }

}
